1. Field of the Invention
The present invention relates to a method and device for generating graphic data that is output by output devices such as monitors, printers, or the like.
2. Description of the Related Arts
Nowadays information processing devices, such as word processors, computers, and their associated memory devices and output devices, have achieved remarkable development and have been widely used in all fields including printing and publication. As such devices spread, not only special companies but also end users of word processors and computers have directly concerned themselves with printing and publication. In order to meet the various needs of special or individual printing and publication in technical and social backgrounds, support tools that enable a wide variety of quality graphic data, e.g., fonts and graphic forms, to be designed easily are in increasing demand.
Conventionally there are three types of font generation methods: the dot matrix method, the outline vector method, and the skeletal vector method (Uehara Tetsuo Uehara, "Current Technology and Problems in Computer Font" (in Japanese), Journal of Information Processing Society of Japan, 31(11): 1570-1580, November 1990.
FIGS. 1A, 1B and 1C illustrate exemplary Kanji or Chinese- character fonts generated by the conventional font generation methods. More specifically, FIG. 1A illustrates () generated by the dot matrix method, FIG. 1B illustrates () generated by the outline vector method, and FIG. 1C illustrates () generated by the skeletal vector method.
The following description will be given mainly with Kanji (or Chinese characters) in mind. However, the present invention is also useful when the alphabet is used and can be applied to general graphic generation.
The dot matrix method was developed at the first stage because characters are each originally output to printers or cathode ray tubes (CRTs) as an arrangement of dots. However, the dot matrix method has a drawback wherein geometrical transformation such as enlargement, reduction, or rotation, extremely deteriorates character quality extremely. For this reason, in order to use more than two characters of the same style but of different sizes or to use characters subjected to geometrical transformation, they must be designed and stored separately, which requires lots of design work and very large storage capacity. Therefore, the dot matrix method is not suited to designing many fonts of characters. At present, dot matrix fonts are often used as auxiliary fonts for outline vector fonts.
The outline vector method, which was developed for the purpose of overcoming the drawback of the dot matrix method, represents the outline of each portion of a character by a piecewise curve to generate the character. This method can further generate dot matrix characters by obtaining dots contained within outlines and using them together with dots on the outlines. Various geometrical transformations for outline vector fonts are made on outlines represented by mathematical formulas and then dots inside the outlines are obtained, whereby outline vector fonts are transformed into dot matrix fonts; thus, the quality will not deteriorate at all even after transformation. Therefore, in comparison with the dot matrix method the outline vector method facilitates the generation of different fonts and requires less storage capacity.
The outline vector method has developed with the development of laser beam printers and the page description language and is now widely used. Since the outlines of each character are directly generated in this system, however, it is almost impossible to perform transformation between styles that differ greatly in outline, e.g., transformation from Mincho type (one of Kanji fonts) to Gothic type. In other words, without preparing the same number of outline vectors as fonts the outline vector method cannot generate many fonts.
The skeletal vector method now under development, is an ultimate system that was devised to overcome the drawbacks of the dot matrix method and the outline vector method. With this system, a character is generated by rounding out (modeling) the skeleton of each character. The skeletal vector of each character is composed of one or more partial segmental vectors and the character is generated by rounding out each of the segmental skeletal vectors according to its desired style. In FIG. 1C, solid lines within outlines represent the skeleton of the character "".
The skeleton itself can be represented by mathematical formulas for piecewise curves. Thus, no quality degradation due to geometrical transformations will occur. The skeletal vector method promises to allow many styles containing Mincho type and Gothic type to be generated from one or more skeletal vectors by changing the way in which each segmental skeleton is rounded out. Since many styles are generated from skeletal vectors, there is no need of storing fonts of all styles in advance, permitting substantial reductions in storage capacity.
Both outline vector fonts and dot matrix fonts can be generated from skeleton vector fonts. In addition, the skeletal vector method is excellent in the geometrical transformation of characters and in the generation of a character of multiple styles. It also requires less storage capacity. Thus, it promises to become a leading font generation method in the future.
However, it cannot be said that the conventional font generation methods fully satisfy the needs of design support tools for designing a wide variety of quality graphic data.
First, with the widely used outline vector method, it is required to provide the same number of outline vectors as styles in order to generate characters of various styles. It takes a lot of time and labor to prepare the outline vectors. A storage area is also needed to store them. Thus, the outline vector method is not fit to design multiple styles. Further, in order to design graphic forms, separate outline vectors are required for fonts having the same skeletal pattern but different outlines. Thus, the outline vector method is not fit to design a wide variety of graphic forms either.
Next, the problem with the most promising skeletal vector system is that it is difficult to generate fonts because how skeletal vectors are to be rounded out cannot be determined easily. The skeletal vectors are independent for each of the characters to be generated; thus, it is possible to generate a font of printed characters, but it is impossible to generate a font of cursive characters.
Further, each of the conventional font generation systems capture each character as a mere output signal on CRTs or printers and stores output data for that character in memory in advance. For this reason, characters cannot be generated and output dynamically with the progression of handwriting movements by a person.